Increases in technology have led to printers incorporating the functionality of other devices such as faxes, copiers, and scanners. These multi-function peripherals typically include print, scan, copy, and fax mechanisms and the electronics to control their functionality. Throughout the application printers and multifunction peripherals may be referred to, collectively, as imaging devices or imaging apparatuses. The electronic controller portion of the imaging devices, among other things, may receive image data from an image source, and decompose the image data into pixels to be output onto output media. In receiving and processing the image data, the imaging devices necessarily utilize both volatile and non-volatile memory technology. The volatile memory portions are typically implemented with Dynamic Random Access Memory (“DRAM”) or Static Random Access Memory (“SRAM”), while the non-volatile memory portions are typically implemented with Read Only Memory (“ROM”), Flash Memory, One Time Programmable memory (“OTP”), or Electrically Erasable Programmable Read-Only Memory (“EEPROM”).
The decision to store data in volatile or non-volatile memory often depends on whether the information requires short term or long term retention. For instance, the non-volatile memory portions generally store information and data which is needed for the life of the imaging device, such as but not limited to firmware and Universal Serial Bus (“USB”) identifiers. In contrast, volatile memory, with its more durable and faster write cycles, is typically used for buffering incoming I/O data, storing intermediate decomposed data, and implementing the processor stack. Additionally, a decision to utilize non-volatile or volatile memory may also depend on the frequency of expected writes to the device. This is because non-volatile memory typically has wear out characteristics that manifest with a large number of writes
While increases in memory are required as the functionality of devices grow, increases in memory may also provide additional benefits such as storage for demonstration pages and imaging device drivers.
Consumer-grade imaging devices are often sold and marketed off the shelf at retail stores. These imaging devices must compete with other manufacturers' products which are frequently displayed adjacent to one another. As a metric of quality, these imaging devices print demonstration pages. The demonstration pages are often stored in the non-volatile memory and consume valuable space in memory. In particular, color images or color image data requires large amounts of memory. Once the imaging device is sold, the space is largely wasted. In efforts to reduce the wasted resources, prior art devices have reduced the number of images stored, stored only low-resolution demonstration pages, or provided a complex and expensive demonstration module with the image devices. Each of these has disadvantages which, consequently, harm the consumer's impression of the imaging device.
Device drivers are required by computers or host devices in order to successfully send pages to the imaging device. This is particularly true when a computer or host is required to calculate the pixels or raster to be printed. This process is often referred to as host-based rendering. Typically, imaging device drivers are provided on Compact Disks (“CDs”) provided with the imaging device. This requires users to load the CD onto the host device in addition to connecting the imaging device. Many potential customers find the technical complexity associated with installing device drivers challenging and intimidating. Additionally, providing CDs and customer support adds cost to the overall product and may add additional product development time.
Therefore, it is desirable to find a way to add additional memory without adding additional cost, to store demonstration page information at reduced costs, and to overcome the issues associated with device drivers.